home *** CD-ROM | disk | FTP | other *** search
Wrap
uuuuffffmmmmGGGGeeeettttCCCChhhhaaaarrrrMMMMeeeettttrrrriiiiccccssss((((3333wwww)))) uuuuffffmmmmGGGGeeeettttCCCChhhhaaaarrrrMMMMeeeettttrrrriiiiccccssss((((3333wwww)))) NNNNAAAAMMMMEEEE _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss - get character metrics by character code CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_uuuu_ffff_mmmm_...._hhhh_>>>> _iiii_nnnn_tttt _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss_((((_uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _iiii_nnnn_tttt _nnnn_TTTT_yyyy_pppp_eeee_ffff_aaaa_cccc_eeee_HHHH_aaaa_nnnn_dddd_llll_eeee_ssss_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _iiii_nnnn_tttt _****_tttt_yyyy_pppp_eeee_ffff_aaaa_cccc_eeee_HHHH_aaaa_nnnn_dddd_llll_eeee_ssss_,,,, _iiii_nnnn_tttt _cccc_hhhh_aaaa_rrrr_CCCC_oooo_dddd_eeee_TTTT_yyyy_pppp_eeee_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _iiii_nnnn_tttt _nnnn_CCCC_hhhh_aaaa_rrrr_CCCC_oooo_dddd_eeee_ssss_,,,, _vvvv_oooo_iiii_dddd _****_cccc_hhhh_aaaa_rrrr_CCCC_oooo_dddd_eeee_ssss_,,,, _uuuu_nnnn_ssss_iiii_gggg_nnnn_eeee_dddd _iiii_nnnn_tttt _****_nnnn_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss_,,,, _uuuu_ffff_mmmm_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss _****_****_cccc_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss_)))) DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss gets the scalable metrics for specified character codes from font metric files. If _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss does not find the metrics for a specified character code, it returns the metrics for the default character. Set nCharCodes to 0 if you want to get character metrics for all characters in a specified typeface. You can get scalable character metrics only for those typefaces which have the flag scalableMetrics set to 1 in their _u_f_m_T_y_p_e_f_a_c_e data structures, that is, for those typefaces for which font metric files were found. _n_T_y_p_e_f_a_c_e_H_a_n_d_l_e_s specifies the number of entries (typeface handles) in the array _t_y_p_e_f_a_c_e_H_a_n_d_l_e_s. _t_y_p_e_f_a_c_e_H_a_n_d_l_e_s specifies one or more handles for open typefaces. Use the function _uuuu_ffff_mmmm_OOOO_pppp_eeee_nnnn_TTTT_yyyy_pppp_eeee_ffff_aaaa_cccc_eeee to open a typeface, and get a handle for that typeface. If you specify more than one typeface handle, _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss will find the font metric files for specified typefaces. Then it will look for the scalable metrics data for a specified character in the font metric file for the first specified typeface. If it does not find that data in that file, it will look for that data in the next font metrics file. It will stop looking as soon as it finds the requested character metrics data. If it cannot find that data for a specified character, it will return the metrics data for the default character. If _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss cannot find the metrics data even for the default character, it will return an error code. _c_h_a_r_C_o_d_e_T_y_p_e specifies a 1-byte character code (_U_F_M__B_Y_T_E_1), a Unicode UCS-2 code (_U_F_M__U_C_S_2), a Unicode UCS-4 code (_U_F_M__U_C_S_4), a 2-byte character code (_U_F_M__B_Y_T_E_2), or a 4-byte character code (_U_F_M__B_Y_T_E_4). _n_C_h_a_r_C_o_d_e_s specifies the number of elements in the array _c_h_a_r_C_o_d_e_s. Set _n_C_h_a_r_C_o_d_e_s to 0 if you want character metrics data for all characters in a specified typeface. If you want character metrics data for only some characters, use the array _c_h_a_r_C_o_d_e_s to specify the character codes of those characters. PPPPaaaaggggeeee 1111 uuuuffffmmmmGGGGeeeettttCCCChhhhaaaarrrrMMMMeeeettttrrrriiiiccccssss((((3333wwww)))) uuuuffffmmmmGGGGeeeettttCCCChhhhaaaarrrrMMMMeeeettttrrrriiiiccccssss((((3333wwww)))) _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss stores the character metrics data it finds into an array of data structures of the type (_u_f_m_C_h_a_r_M_e_t_r_i_c_s). Then it returns the number of entries (_n_C_h_a_r_M_e_t_r_i_c_s) in that array and the address of that array (_c_h_a_r_M_e_t_r_i_c_s). When you are finished with the array (_c_h_a_r_M_e_t_r_i_c_s), you can free it by calling _uuuu_ffff_mmmm_FFFF_rrrr_eeee_eeee_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss with the argument values that were returned by _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss. All scalable metrics values provided by ufmGetCharMetrics are specified in ems. You can scale such values to an appropriate point size by using the formula: scaled value = scalable-value x point-size x resolution / 72.0 You can scale such values to an appropriate pixel size by using the formula: scaled-value = scalable-value x pixel-size The character advance width in pixels for a given resolution can be calculated from the scalable character advance width in ems by using the formula: advance-width = scalable-advance-width x point-size x resolution / 72.0 The result is usually rounded to the nearest pixel. SSSSEEEEEEEE AAAALLLLSSSSOOOO ufmFreeCharMetrics(3w), ufmGetCharMetricsByName, ufmOpenTypeface(3w). DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS If _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss is not able to allocate the memory it needs, it will return the value _UUUU_FFFF_MMMM______OOOO_UUUU_TTTT______OOOO_FFFF______MMMM_EEEE_MMMM_OOOO_RRRR_YYYY. If the values of one or more arguments are not valid, _uuuu_ffff_mmmm_GGGG_eeee_tttt_CCCC_hhhh_aaaa_rrrr_MMMM_eeee_tttt_rrrr_iiii_cccc_ssss will return the value _UUUU_FFFF_MMMM______IIII_NNNN_VVVV_AAAA_LLLL_IIII_DDDD______VVVV_AAAA_LLLL_UUUU_EEEE. _UUUU_FFFF_MMMM______OOOO_UUUU_TTTT______OOOO_FFFF______MMMM_EEEE_MMMM_OOOO_RRRR_YYYY and _UUUU_FFFF_MMMM______IIII_NNNN_VVVV_AAAA_LLLL_IIII_DDDD______VVVV_AAAA_LLLL_UUUU_EEEE are defined in the header file <_u_f_m._h>. PPPPaaaaggggeeee 2222